﻿using System.ComponentModel.DataAnnotations;
using System.Xml.Serialization;

namespace SelfService.HaiTai.Models.Appointment;

[XmlRoot("req")]
public class AddOrderRequest
{
    /// <summary>
    /// 支付订单号
    /// Example: a003692023042700802
    /// </summary>
    [XmlElement("orderId")]
    [Required(ErrorMessage = "OrderId不能为空")]
    public string OrderId { get; set; }

    /// <summary>
    /// 医院ID
    /// Example: 100369001
    /// </summary>
    [XmlElement("hospitalId")]
    public string HospitalId { get; set; }

    /// <summary>
    /// 科室ID
    /// Example: 1040
    /// </summary>
    [XmlElement("deptId")]
    [Required(ErrorMessage = "科室不能为空")]
    public string DeptId { get; set; }

    /// <summary>
    /// 诊疗单元代码
    /// Example: 
    /// </summary>
    [XmlElement("clinicUnitId")]
    public string ClinicUnitId { get; set; }

    /// <summary>
    /// Example: 1211
    /// </summary>
    [XmlElement("doctorId")]
    [Required(ErrorMessage = "医生不能为空")]
    public string DoctorId { get; set; }

    /// <summary>
    /// 医生职称代码
    /// Example: 234
    /// </summary>
    [XmlElement("doctorLevelCode")]
    public string DoctorLevelCode { get; set; }

    /// <summary>
    /// 就诊日期
    /// Example: 2023-04-27
    /// </summary>
    [XmlElement("regDate")]
    [Required(ErrorMessage = "就诊日期不能为空")]
    public string RegDate { get; set; }

    /// <summary>
    /// 排班号
    /// Example: 390588
    /// </summary>
    [XmlElement("scheduleId")]
    [Required(ErrorMessage = "排班号不能为空")]
    public string ScheduleId { get; set; }

    /// <summary>
    /// 分时号
    /// Example: 390588-14
    /// </summary>
    [XmlElement("periodId")]
    [Required(ErrorMessage = "分时号不能为空")]
    public string PeriodId { get; set; }

    /// <summary>
    /// Example: 1
    /// </summary>
    [XmlElement("shiftCode")]
    public string ShiftCode { get; set; }

    /// <summary>
    /// Example: 15:35
    /// </summary>
    [XmlElement("startTime")]
    public string StartTime { get; set; }

    /// <summary>
    /// Example: 15:40
    /// </summary>
    [XmlElement("endTime")]
    public string EndTime { get; set; }

    /// <summary>
    /// 患者卡号
    /// Example: 410827197006023548
    /// </summary>
    [XmlElement("healthCardNo")]
    public string HealthCardNo { get; set; }

    /// <summary>
    /// 患者ID
    /// Example: 1568534
    /// </summary>
    [XmlElement("patientId")]
    [Required(ErrorMessage = "患者ID不能为空")]
    public string PatientId { get; set; }

    /// <summary>
    /// 姓名
    /// Example: 赵爱军
    /// </summary>
    [XmlElement("patientName")]
    public string PatientName { get; set; }

    /// <summary>
    /// 身份证号码
    /// Example: 410827197006023548
    /// </summary>
    [XmlElement("idCardNo")]
    public string IdCardNo { get; set; }

    /// <summary>
    /// 联系电话
    /// Example: 13782885691
    /// </summary>
    [XmlElement("phone")]
    public string Phone { get; set; }

    /// <summary>
    /// 支付方式
    /// Example: 10=微信支付, 11=支付宝
    /// </summary>
    [XmlElement("orderType")]
    [Required(ErrorMessage = "预约方式")]
    public string OrderType { get; set; }

    /// <summary>
    /// 支付时间
    /// Example: 2023-04-27 15:30:47
    /// </summary>
    [XmlElement("orderTime")]
    public string OrderTime { get; set; }

    /// <summary>
    /// Example: 
    /// </summary>
    [XmlElement("svObjectId")]
    public string SvObjectId { get; set; }

    /// <summary>
    /// 挂号费
    /// Example: 550
    /// </summary>
    [XmlElement("fee")]
    public string Fee { get; set; }

    /// <summary>
    /// 诊疗费
    /// Example: 0
    /// </summary>
    [XmlElement("treatfee")]
    public string TreatFee { get; set; }
}